package com.zhuanzhuan.hero.user.facade;

import com.bj58.spat.scf.server.contract.annotation.ServiceContract;
import com.bj58.youpin.common.rpc.result.Result;
import com.zhuanzhuan.hero.user.dto.tool.FlushUserDTO;
import com.zhuanzhuan.hero.user.dto.tool.ToolCreateLabelDTO;

/**
 * @ClassName SmallToolFacade
 * @Description
 * @Author hanjunjun
 * @Date 2024/6/25 11:21
 */
@ServiceContract
public interface ISmallToolFacade {

    /**
     * 创建经营标签、优势介绍
     *
     * @param dto
     * @return com.bj58.youpin.common.rpc.result.Result<java.lang.Void>
     * @author  hanjunjun
     * @date 2024/6/25
     **/
    Result<Void> createManagementLabel(ToolCreateLabelDTO dto);

    /**
     * 创建同行认证标签(运营)
     *
     * @param dto
     * @return com.bj58.youpin.common.rpc.result.Result<java.lang.Boolean>
     * @author  hanjunjun
     * @date 2024/7/24
     **/
    Result<Boolean> createBackBusinessLabel(ToolCreateLabelDTO dto);

    /**
     * 刷新会员等级
     *
     * @param dto
     * @return com.bj58.youpin.common.rpc.result.Result<java.lang.Void>
     * @author  hanjunjun
     * @date 2024/7/20
     **/
    Result<Void> flushUserMemberLevel(FlushUserDTO dto);

    /**
     * 更新库表加密字段
     *
     * @param dto
     * @param isEncrypt true是加密，false是解密
     * @return com.bj58.youpin.common.rpc.result.Result<java.lang.Void>
     * @author  hanjunjun
     * @date 2024/7/26
     **/
    Result<Boolean> flushUserEncrypt(FlushUserDTO dto, boolean isEncrypt);

    /**
     * 已经加密完的数据  解密
     *
     * @param dto
     * @return com.bj58.youpin.common.rpc.result.Result<java.lang.Boolean>
     * @author  hanjunjun
     * @date 2024/8/1
     **/
    Result<Boolean> flushUserDecrypt(FlushUserDTO dto);
}